import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
    state: { //定义响应式数据
        tasklist: [], //任务列表 [{id:1,name:'value',status:false}]
    },
    getters: { //定义计算方法(类似于组件中的计算属性)
        unFinishCount(state) { //统计未完成任务的数量
            var arr = state.tasklist.filter((item) => {
                return item.status == false;
            })
            return arr.length;
        }
    },
    mutations: { //定义同步方法
        addTask(state, payload) {
            var obj = { id: state.tasklist.length + 1, name: payload, status: false }
            state.tasklist.push(obj);
        },
        changeStayus(state, payload) {
            // 查找需要修改状态的那个任务对象
            // console.log('changeStayus ')
            var fi = state.tasklist.find((item) => {
                return item.id == payload.id
            });

            if (fi) { //判断是否找到
                fi.status = !fi.status;
            }
        }
    },
    actions: { //定义异步方法

    },
    modules: { //模块化管理state数据

    }
})